package com.ruoyi.settlement.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 结算单管理对象 am_settlement
 * 
 * @author ruoyi
 * @date 2020-07-29
 */
public class AmSettlement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 结算表ID */
    private Long id;

    /** 成交记录ID */
    private Long dealRecordId;


    /** 结算单编号 */
    @Excel(name = "结算单编号")
    private String settlementCode;


    /** 经纪人ID */

    private Long agentId;

    /** 经济人名字*/
    @Excel(name = "经纪人")
    private String agent;

    /** 经纪人层级 */
    @Excel(name = "经纪人层级")
    private String agentGrade;

    /** 返佣金额 */
    private String rebateAmount;

    /** 返佣比例 */
    private String rebate;

    /** 返佣占比 */
    private String mix;

    /** 结算金额 */
    @Excel(name = "结算金额")
    private BigDecimal settlementMoney;

    /** 打款凭证图片 */
    private String images;

    /** 结算单状态1待支付2提现中3已完成 */
    private Long status;


    /** 最后修改时间 */
   // @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifiedTime;

    /** 平台结算审核时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "平台结算审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    /** 申请提现时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applicationTime;

    /** 确认打款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date confirmTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDealRecordId(Long dealRecordId) 
    {
        this.dealRecordId = dealRecordId;
    }

    public Long getDealRecordId() 
    {
        return dealRecordId;
    }
    public void setSettlementCode(String settlementCode) 
    {
        this.settlementCode = settlementCode;
    }

    public String getSettlementCode() 
    {
        return settlementCode;
    }
    public void setAgentId(Long agentId) 
    {
        this.agentId = agentId;
    }

    public Long getAgentId() 
    {
        return agentId;
    }

    public Date getApplicationTime() {
        return applicationTime;
    }

    public void setApplicationTime(Date applicationTime) {
        this.applicationTime = applicationTime;
    }

    public Date getConfirmTime() {
        return confirmTime;
    }

    public void setConfirmTime(Date confirmTime) {
        this.confirmTime = confirmTime;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public void setRebateAmount(String rebateAmount)
    {
        this.rebateAmount = rebateAmount;
    }

    public String getRebateAmount() 
    {
        return rebateAmount;
    }
    public void setRebate(String rebate) 
    {
        this.rebate = rebate;
    }

    public String getRebate() 
    {
        return rebate;
    }
    public void setMix(String mix) 
    {
        this.mix = mix;
    }

    public String getMix() 
    {
        return mix;
    }
    public void setSettlementMoney(BigDecimal settlementMoney) 
    {
        this.settlementMoney = settlementMoney;
    }


    public String getAgentGrade() {
        return agentGrade;
    }

    public void setAgentGrade(String agentGrade) {
        this.agentGrade = agentGrade;
    }

    public BigDecimal getSettlementMoney()
    {
        return settlementMoney;
    }
    public void setImages(String images) 
    {
        this.images = images;
    }

    public String getAgent() {
        return agent;
    }

    public void setAgent(String agent) {
        this.agent = agent;
    }

    public String getImages()
    {
        return images;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setModifiedTime(Date modifiedTime) 
    {
        this.modifiedTime = modifiedTime;
    }

    public Date getModifiedTime() 
    {
        return modifiedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("dealRecordId", getDealRecordId())
            .append("settlementCode", getSettlementCode())
            .append("agentId", getAgentId())
            .append("rebateAmount", getRebateAmount())
            .append("rebate", getRebate())
            .append("mix", getMix())
            .append("settlementMoney", getSettlementMoney())
            .append("images", getImages())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("modifiedTime", getModifiedTime())
            .toString();
    }
}
